

#ifndef LAHAN_H
#define	LAHAN_H
#include <iostream>
#include "tanaman.h"
#include "player.h"
using namespace std;

class Lahan {
    private :
        static const int panjang = 9;
        static const int lebar = 9;
        struct {
            int status;
            Tanaman* Plant;
        }Field[panjang][lebar];
        /* Field berisikan status
         *   0. Unplantable (bisa dilewati)
         *   1. Clear (bisa ditanami, bisa dilewati)
         *   2. Plowed (masih bisa dilewati)
         *   3. Seed (ada bibitnya, masih bisa dilewati)
         *   4. Watered seed (tanaman bibit yang berada pada lahan telah disirami)
         *   5. Planted (tanaman sudah dewasa)
         *   6. Watered plant (tanaman dewasa yang berada pada lahan telah disirami)
         *   7. Harvestable (tanaman sudah bisa dipanen)
         *   8. Dead (tanaman sudah mati)
         */
    public :
        /*constructor*/
        Lahan();
        /*copy constructor*/
        Lahan(const Lahan&);
        /*destruktor*/
        ~Lahan();
        /*method*/
        void setStatus (int, int, int);
        void PrintLahanKosong ();
        void PrintLahan();
        int getStatus (int, int);
        Tanaman& getTanaman (int, int);
        void setTanaman (int, int, int);
        void LoadTanaman (int, int, int);
        void deleteTanaman (int, int);
        void gotokoordinat (int, int);
        void PrintStatus (int, int);
        //void setChronoPlant (int, int);
        //void setReynFruit (int, int);
        //void setIchalmond (int, int);
        //void setEdondong (int,int);
        //void setGreenAlgoe (int,int);
        //void setHanselnut (int, int);
        //void setAbelTree (int,int);
        //void setElmonade (int,int);
};
extern Lahan L;
#endif	/* LAHAN_H */